/*
 * File: Tab.h
 *
 * Code generated for Simulink model 'Tab'.
 *
 * Model version                  : 3.227
 * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020
 * C/C++ source code generated on : Tue Aug 29 15:23:03 2023
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: NXP->Cortex-M4
 * Code generation objective: MISRA C:2012 guidelines
 * Validation result: Not run
 */

#ifndef RTW_HEADER_Tab_h_
#define RTW_HEADER_Tab_h_
#include <stddef.h>
#ifndef Tab_COMMON_INCLUDES_
#define Tab_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif                                 /* Tab_COMMON_INCLUDES_ */

#include "Tab_types.h"

/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
#define rtmGetErrorStatus(rtm)         ((rtm)->errorStatus)
#endif

#ifndef rtmSetErrorStatus
#define rtmSetErrorStatus(rtm, val)    ((rtm)->errorStatus = (val))
#endif

/* Block states (default storage) for system '<Root>' */
typedef struct
{
    uint8_T Delay3_DSTATE;             /* '<S12>/Delay3' */
    uint8_T Delay2_DSTATE;             /* '<S19>/Delay2' */
}
DW_Tab_T;

/* Real-time Model Data Structure */
struct tag_RTM_Tab_T
{
    const char_T * volatile errorStatus;
};

/* Block states (default storage) */
extern DW_Tab_T Tab_DW;

/* Model entry point functions */
extern void Tab_initialize(void);

/* Exported entry point function */
extern void TASK_LookTab_DsgPulseCurr(void);

/* Exported entry point function */
extern void TASK_LookTab_DsgContCurr(void);

/* Exported entry point function */
extern void TASK_LookTab_BackPulseCurr(void);

/* Exported entry point function */
extern void TASK_LookTab_BackContCurr(void);

/* Exported entry point function */
extern void TASK_LookTab_SchgCurr(void);

/* Exported entry point function */
extern void TASK_LookTab_SOCOcv(void);

/* Exported entry point function */
extern void TASK_LookTab_SOCOcvAll(void);

/* Exported entry point function */
extern void Task_LookTab_ChgOCV(void);

/* Exported entry point function */
extern void TASK_LookTab_NMCP(void);

/* Exported entry point function */
extern void Task_LookTab_DsgOCV(void);

/* Exported entry point function */
extern void Task_LookTab_SOCVoltThreshold1(void);

/* Exported entry point function */
extern void Task_LookTab_SOCVoltThreshold2(void);

/* Exported entry point function */
extern void Task_LookTab_QchgCurr(void);

/* Real-time Model object */
extern RT_MODEL_Tab_T *const Tab_M;

/* Exported data declaration */

/* Declaration for custom storage class: ExportToFile */
extern uint16_T Tab_Back_Cont_Curr;    /* '<S9>/Tab5' */
extern uint16_T Tab_Back_Pulse_Curr;   /* '<S8>/Tab12' */
extern uint16_T Tab_Dhg_Cont_Curr;     /* '<S5>/Tab7' */
extern uint16_T Tab_Dhg_Pulse_Curr;    /* '<S4>/Tab11' */
extern uint16_T Tab_enum_SOCOcv;       /* '<S11>/Product' */
extern uint16_T Tab_enum_SOCOcvAll;    /* '<S13>/Product' */
extern uint16_T Tab_mas_nmcpv;         /* '<S20>/Tab1' */
extern uint16_T Tab_pct_ChgSOC;        /* '<S2>/Divide' */
extern uint16_T Tab_pct_DsgOCV;        /* '<S3>/Divide' */
extern uint16_T Tab_qChgTabCurr;       /* '<S14>/Tab2' */
extern uint16_T Tab_sChgTabCurr;       /* '<S10>/Max1' */
extern uint16_T tabl_mv_socThreshold1; /* '<S6>/Table1' */
extern uint16_T tabl_mv_socThreshold2; /* '<S7>/Table1' */

/*-
 * The generated code includes comments that allow you to trace directly
 * back to the appropriate location in the model.  The basic format
 * is <system>/block_name, where system is the system number (uniquely
 * assigned by Simulink) and block_name is the name of the block.
 *
 * Use the MATLAB hilite_system command to trace the generated code back
 * to the model.  For example,
 *
 * hilite_system('<S3>')    - opens system 3
 * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
 *
 * Here is the system hierarchy for this model
 *
 * '<Root>' : 'Tab'
 * '<S1>'   : 'Tab/Interface'
 * '<S2>'   : 'Tab/Interface/ChgSOCLookTab'
 * '<S3>'   : 'Tab/Interface/DsgSOCLookTab'
 * '<S4>'   : 'Tab/Interface/Subsystem'
 * '<S5>'   : 'Tab/Interface/Subsystem1'
 * '<S6>'   : 'Tab/Interface/Subsystem11'
 * '<S7>'   : 'Tab/Interface/Subsystem12'
 * '<S8>'   : 'Tab/Interface/Subsystem2'
 * '<S9>'   : 'Tab/Interface/Subsystem3'
 * '<S10>'  : 'Tab/Interface/Subsystem4'
 * '<S11>'  : 'Tab/Interface/Subsystem5'
 * '<S12>'  : 'Tab/Interface/Subsystem6'
 * '<S13>'  : 'Tab/Interface/Subsystem7'
 * '<S14>'  : 'Tab/Interface/Subsystem8'
 * '<S15>'  : 'Tab/Interface/DsgSOCLookTab/BatCurrConverter'
 * '<S16>'  : 'Tab/Interface/Subsystem5/Compare To Constant1'
 * '<S17>'  : 'Tab/Interface/Subsystem5/Compare To Constant28'
 * '<S18>'  : 'Tab/Interface/Subsystem6/ '
 * '<S19>'  : 'Tab/Interface/Subsystem6/ReleaseDown'
 * '<S20>'  : 'Tab/Interface/Subsystem6/lookupCap'
 * '<S21>'  : 'Tab/Interface/Subsystem7/Compare To Constant1'
 * '<S22>'  : 'Tab/Interface/Subsystem7/Compare To Constant28'
 */

/*-
 * Requirements for '<Root>': Tab
 */
#endif                                 /* RTW_HEADER_Tab_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
